最新版本: https://www.w3.org/TR/json-ld/
有人說, HTML (Hyper Text Markup Language) 不過是個 SGML (Standard Generalized Markup Language) 的子集合, 而 JSON-LD (Javascript Object Notation - Linked Data) 還不過是個 RDF (Resource Description Framework) 的一種實作, 但往往有時成功的不是最大的 Scope (範疇), 而是是否有實用的可能性, 這種實用代表的人會去用, 而標準若是沒人用, 那就跟許多的碩士論文一樣了.
若是要了解 JSON-LD, 並不是要大家了解甚麼是 Javascript 才行, 反倒是理論上要知道甚麼是 RDF, 甚麼是 Microdata, 甚麼是 Linked Data
RDF 是一種將網頁的資料交換格式將之標準化, 而其中是把是把語意 (Semantic) 的大綱 (Schema) 將概念連結起來, 透過一個有方向的標籤結構圖, 把資源給串起來而容易了解其意義.
Microdata 也是用來將語意與概念讓機器能夠輕易讀取, 透過將元素定義成辭彙與描術的名稱與性質, 來讓搜尋引擎, 爬蟲與瀏灠器知道如何再利用.
Linked Data, 將資訊結構化後, 讓資訊更好的被語意查詢, 且能夠透過 HTTP 等 URIs 將之串接, 然後轉譯成人類可讀取的呈現內容, 也包含能夠讓其他機器取自動化取用, 更新而將資訊串接.
而 JSON-LD 的 LD 就是 Lined Data, 在概念上就是利用 Microdata 已經定義好的語義, 而使用網頁前端最常使用的 Javascript 可以輕易使用的 JSON 來封裝, 而不是使用 HMTL 的 Tag 這格式, 而讓機器更容易使用.
會發現 JSON-LD 說穿了只是不同格式的 Microdata, 但這有甚麼不一樣呢? 當然就開發者而言, Microdata 用 Tag 的方式來表現, 要同時考慮到內容與使用者看到的格式是相當麻煩的, 而 JSON-LD 就直接包裝成一個資料包, 而把如何呈現切開, 不用再去跟 HTML 的 Tag 連在一起, 這在開發就較簡單.
但除了簡單外, 重點是呈現, 因為 JSON-LD 並沒有在 Tag 描述語言中, 基本上是不呈現的, 所以若是用者角度來看是沒意義的, 但的確搜尋引擎給了他意義, 因為以 Google 而言, 透過 JSON-LD 所提供得資訊, 就能夠更豐富 SERP (Search Engine Result Page/搜尋引擎結果頁), 這才是重點.
因為當優化了 SERP, 對搜尋者更容易的抓到所要的資訊與重點, 在 Google 的 Search Console 中, Google 稱之為 Rich Cards, 在某方面說穿跟之前推的 Structure Data 就是 Microdata, 只是常常有時會多加了一點 Google 自己的須求進去.
當然在 SEO 的角度最重要的是, 在台灣的 Google 已經有些 SERP 開始使用 Rich Cards 所提供的資訊, 雖然所謂的 Mircodata 的 structured data 也是可以, 但讓工程師來選, 當然是 JSON-LD (ld+json) 方便多了...
你的網站已經開始使用了嗎? 下面是個簡單範例:
...
1 {
2 "@context": {
3 "name": "http://xmlns.com/foaf/0.1/name",
4 "homepage": {
5 "@id": "http://xmlns.com/foaf/0.1/workplaceHomepage",
6 "@type": "@id"
7 },
8 "Person": "http://xmlns.com/foaf/0.1/Person"
9 },
10 "@id": "http://hammerofthordenpasar.com",
11 "@type": "Person",
12 "name": "hammer of thor denpasar",
13 "homepage": "http://www.hammerofthordenpasar.com/"
14 }
...
[連結]
RDF: https://www.w3.org/TR/2014/REC-rdf-schema-20140225/
JSON (RFC-4627): http://www.ietf.org/rfc/rfc4627.txt
Linked Data: https://www.w3.org/TR/2015/REC-ldp-20150226/
Micro Data: https://www.w3.org/TR/microdata/